Как реализовать список посетителей обновляющийся на "лету"?
Есть несколько возможных вариантов реализации.
Можно получить из комет сервера список авторизованных пользователей подписанных на какой то из каналов.
- Пользователь проходит авторизацию на комет сервере
- Подписывается на канал вида track_* (можно использовать любое название канала, например track_online или как угодно)
-
Вы запросом к CometQL api получаете список авторизованных пользователей подписанных на канал (это уже список кто сейчас онлайн)
-
Чтобы список пополнялся новыми пользователями в режиме реального времени то надо в js добавить обработчики на события subscription и unsubscription приходящие из канала track_online (или того на какой вы подписались)
Получение списка пользователей онлайн
Запросом к CometQL api получаете список авторизованных пользователей подписанных на канал
mysql> SELECT * FROM users_in_pipes WHERE name = "track_online";
Подписка на обновление списка пользователей онлайн #
CometServer().subscription("track_online.subscription", function(msg)
{
// Обработка события что кто то зашёл на сайт и подписался на канал track_online
});
CometServer().subscription("track_online.unsubscription", function(msg)
{
// Обработка события что кто то покинул сайт и/или отписался от канала track_online
});